陣列是一群相同資料型態的變數集合~ 就是將相同資料型態的varaible裝在一起~
學習目標: One~Three Dimensional Array 概念及實務
學習難度: ☆☆☆
One Dimensional Array
這很簡單~ 一個維度的陣列~ 所以不用舉例~
#include <iostream>
using namespace std;
int main()
{
int array[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int size=sizeof array / sizeof(array[0]); //計算array的長度
for (int i = 0; i < 10; ++i)
{
cout<<"Element at array["<<i<< "]: "<<array[i]<<endl;
}
return 0;
}
Two Dimensional Array
這也滿簡單~ 左row,上column,組成的二維陣列~ 可想像成程式版的excel檔案~
#include <iostream>
using namespace std;
int main()
{
// 3 row 2 column...
int array[3][2] = {{0,1}, {2,3}, {4,5}};
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
cout << "Element at array[" << i<< "][" << j << "]: ";
cout << array[i][j]<<endl;
}
}
return 0;
}
Three Dimensional Array
這就比較複雜~ 可想像成一堆程式版的excel檔案~
例如有一堆 2 個 (2x3) 的 Two Dimensional Array
它的 Three Dimensional Array 是 int array[2][3][2];
#include <iostream>
using namespace std;
int main()
{
// 2 row 3 column 2 arrays...
int array[2][3][2] =
{
{ {0,1}, {2,3}, {4,5} },
{ {0,1}, {2,3}, {4,5} }
};
for (int i = 0; i < 2; ++i)
{
for (int j = 0; j < 3; ++j)
{
for (int k = 0; k < 2; ++k)
{
cout << "Element at array[" << i << "][" << j<< "][" << k << "]
= " << array[i][j][k]<< endl;
}
}
}
return 0;
}
參考資料:
https://docs.microsoft.com/zh-tw/cpp/cpp/arrays-cpp?view=msvc-170
https://www.geeksforgeeks.org/multidimensional-arrays-c-cpp/
子維度可以是不定數,並非所有的維度都必須相同
尤其是維度越高,子維度會愈複雜
可以各自定義,就想九個維度陣列,有可能第六個九維度的下屬維度只有包含幾個2維陣列